home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d11 / vmoire14.arc / VGAMOIRE.DOC < prev   
Text File  |  1991-04-21  |  42KB  |  891 lines

  1.  
  2.  
  3.         ════════════════════════════════════════════════════════════════
  4.  
  5.  
  6.                                  VGAMOIRE v1.4b
  7.                               by Christopher Antos
  8.                     Copyright (C) 1990 by Christopher Antos
  9.  
  10.  
  11.                                  September 1990
  12.  
  13.  
  14.             moi│re (mwär, môr) n. [Fr, watered silk < MOHAIR] a
  15.                 fabric, esp. silk, rayon, or acetate, having a
  16.                 watered, or wavy, pattern.
  17.                           _            _
  18.             moi│ré (mwär ra', mô-; môr'a) adj. [Fr, pp. of /moirer/,
  19.                 to water < /moire/: see prec.] having a watered, or
  20.                 wavy, pattern, as certain fabrics, stamps, or metal
  21.                 surfaces --n.  1 a watered pattern pressed into
  22.                 cloth, etc. with engraved rollers  2 MOIRE
  23.  
  24.             ─── From Webster's New World Dictionary, Third College
  25.                 Edition, Copyright (C) 1988 by Simon & Schuster, Inc.
  26.  
  27.  
  28.         ════════════════════════════════════════════════════════════════
  29.  
  30.  
  31.                              Questions or Comments?
  32.  
  33.  
  34.         Please write to:        Christopher Antos
  35.                                 2115 Windsor Drive
  36.                                 Ann Arbor, Michigan
  37.                                         48103-5652
  38.  
  39.  
  40.         Or send EMail to "Christopher_Antos@ub.cc.umich.edu"
  41.  
  42.  
  43.         ════════════════════════════════════════════════════════════════
  44.  
  45.  
  46.  
  47.  
  48.         Please write and make suggestions, complaints, compliments, or
  49.         even ask questions.  Thank you!
  50.  
  51.  
  52.  
  53.  
  54.         ─────── CONTENTS ───────────────────────────────────────────────
  55.      |          Registering VGAMoire
  56.                 Release Notes
  57.                 Introduction
  58.                 Installation
  59.                 Using VGAMoire's Features
  60.                 Deinstallation
  61.                 Examples
  62.      |          Known Conflicts
  63.                 Special Notes for Microsoft Windows
  64.                 Technical and Miscellaneous Information
  65.         ────────────────────────────────────────────────────────────────
  66.  
  67.  
  68.  
  69.  
  70.         New information is denoted with vertical bars ("|") in the left
  71.         margin.
  72.  
  73.  
  74.  
  75.  
  76.         ═══════ REGISTERING VGAMOIRE ═══════════════════════════════════
  77.  
  78.  
  79.         This program is not free, nor is it in the Public Domain.  It is
  80.         a ShareWare program.  This means that you can try it out for a
  81.         reasonable length of time.  If it useful to you, or you like it,
  82.         you need to register it.  To do this, print out the file
  83.         REGISTER.TXT and follow the instructions within it.
  84.  
  85.         VGAMoire is a very high quality screen saver.  If you can find a
  86.         better one for a lower price, I'd like to know (seriously!).  It
  87.         has features the commercial competition can't even claim to
  88.         match.  I put a lot of time and energy into this product, and I
  89.         believe anyone with a VGA graphics adapter cannot help but
  90.         benefit from using VGAMoire.
  91.  
  92.         So, please fill out the registration form (in REGISTER.TXT) and
  93.         register today!  You will be notified of any future releases
  94.         when they are made available.
  95.  
  96.  NOTE:  Even if you use the source code but do not use the program
  97.         itself, you should register the program as if you were using the
  98.         program.  I have no obligation to include source code.  It is
  99.         included with all my programs as a favor, in a gesture of good
  100.         faith.  Please do not abuse the fact that I include source code,
  101.         or that I distribute my programs on an honor policy.  The source
  102.         code may be cannibalized freely, however if changes are made to
  103.         the VGAMoire program, it MUST NOT RETAIN THE NAME "VGAMOIRE".
  104.         If you have any changes that you wish to see incorporated into
  105.         the official VGAMoire program, please send them to me at the
  106.         above address.
  107.  
  108.  
  109.  
  110.  
  111.         ═══════ RELEASE NOTES ══════════════════════════════════════════
  112.  
  113.  
  114.      |  Version 1.4b features improved mouse state saving and restoring,
  115.      |  and now works even with programs making very sophisticated use
  116.      |  of the mouse driver (for instance, Norton Advanced Utilities
  117.      |  5.0).
  118.      |
  119.      |  The program now features better keyboard and mouse monitoring
  120.      |  while the screen saver is active.  VGAMoire used to respond to
  121.      |  some "false alerts" which prevented it from popping up, even
  122.      |  when it was okay to.  Also, it responds much more quickly when
  123.      |  the mouse is moved, and it will also return to the active
  124.      |  application if a mouse button is pressed (it used to only return
  125.      |  if the mouse were moved).
  126.      |
  127.      |  The documentation for the previous versions accidentally omitted
  128.      |  the description of the [Vn] feature.  My apologies.
  129.      |
  130.      |  Version 1.4b has been slightly reworked to facilitate future
  131.      |  support for other video cards.  I make no guarantees concerning
  132.      |  multiple video cards, but I will be looking into the
  133.      |  possibility.
  134.      |
  135.      |  Also, the new 1.4b release features complete video state
  136.      |  restoration even without using EMS!  This does require an
  137.      |  additional 1k or so of resident data space if only conventional
  138.      |  memory is used.  VGAMoire will now save and restore the complete
  139.      |  video state at all times.  However, if the [Fn] option is not
  140.      |  used, then it cannot restore RAM fonts--but it CAN restore ROM
  141.      |  fonts:  if the 8x8, 8x14, or 8x16 ROM font was active, it will
  142.      |  be correctly restored; if a RAM font was active, the ROM font
  143.      |  that best matches its size will be loaded.
  144.      |
  145.      |  VGAMoire 1.4b is now proud to support graphics mode screen
  146.      |  blanking!  The moire design cannot be drawn, simply because it
  147.      |  would require an additional 256k of EMS (let's not even consider
  148.      |  using conventional memory) to save the graphics screen.
  149.      |  VGAMoire will blank the screen BUT STILL ALLOW THE PROGRAM TO
  150.      |  RUN IN THE BACKGROUND!  The new [Bn] option allows you to
  151.      |  configure VGAMoire to blank the screen and allow background
  152.      |  processing in text modes, too.
  153.      |
  154.      |  There was a bug in the Expanded Memory routines, before, which
  155.      |  could cause the computer to crash if VGAMoire popped up while
  156.      |  another program was actively using data in Expanded Memory.
  157.      |  This bug has been found and eliminated.
  158.  
  159.  
  160.  
  161.  
  162.         ═══════ INTRODUCTION ═══════════════════════════════════════════
  163.  
  164.  
  165.         You've probably seen a lot of other screen savers, and you're
  166.         probably not very impressed.  Many are boring and just blank out
  167.         the screen--which can even be annoying, because sometimes it's
  168.         hard to tell if the machine or the monitor are even on!  Other
  169.         screen savers may save the display in memory and draw a moving
  170.         design until a key is pressed.  I have yet to see any other
  171.         screen saver that saves the FULL display configuration and
  172.         restores it.  Other popular screen savers have a number of tiny
  173.         but very annoying flaws (eg, they might not save the cursor
  174.         shape, maybe they don't hide the mouse pointer or save the mouse
  175.         driver state, perhaps they can't use EMS, they may only save up
  176.         to four video pages, they probably can't restore the screen
  177.         properly unless it were in 25-line text mode, etc...)
  178.  
  179.         I decided it was time to write a real screen SAVE-er.  Enter
  180.         VGAMoire.  The moire pattern design was inspired by Magic (for
  181.         Microsoft Windows) and Moire (for the Macintosh), two other
  182.         high-quality screen savers (actually, I don't use Macintoshes,
  183.         so I can't vouch for Moire, but Magic is probably the best
  184.         screen saver out for Windows).
  185.  
  186.         VGAMoire respects data transfer on the COM and LPT ports; can
  187.         use EMS memory, if available; allows options to be changed while
  188.         it is resident; can wait up to 30 minutes before popping up its
  189.         design; can monitor the video interrupt and/or the mouse
  190.         hardware (it can be configured not to, though) and restart its
  191.         countdown when activity is detected (though of course direct
  192.         video access cannot be detected); can be disabled and reenabled
  193.         from the keyboard or from batch files; can be popped up
  194.         manually; can run without becoming resident (intended to allow
  195.         the user to test the different configuration options without
  196.         having to deinstall VGAMoire between tests); recognizes that it
  197.         has already been loaded and will not reload itself, even if it
  198.         was loaded into high RAM via a utility such as 386Max or
  199.         QEMM-386; allows certain attributes of the pattern to be
  200.         modified by the user; respects disk I/O requests and restarts
  201.         its countdown when a disk I/O request is detected.
  202.  
  203.         VGAMoire can mirror the design either horizontally, vertically,
  204.         or both ways (or, of course, not at all).  See the [Rn] option,
  205.         below.
  206.  
  207.         VGAMoire can restart its countdown when mouse movement or mouse
  208.         button activity is detected.  In case you are using an old mouse
  209.         driver and you are experiencing problems, you can try disabling
  210.         this feature (see the [Mn] option, below).
  211.  
  212.         VGAMoire will never pop up when it would be harmful to the
  213.         system to do so (Be careful, though--if you pop it up by
  214.         pressing the hotkeys, VGAMoire will pop up even if a task such
  215.         as disk access is going on.  This could cause the system to
  216.         crash.  No permanent damage should occur, but I am not
  217.         responsible for any that does).  VGAMoire may, however, pop up
  218.         while some print spoolers are sending data to the printer.  This
  219.         should not ever prove to be a problem (if it does, be sure to
  220.         let me know!).  The only real effect of this should be that the
  221.         printing is suspended for as long as VGAMoire is drawing on the
  222.         screen.  Printing will resume after VGAMoire stops.
  223.  
  224.         See the section "Special Notes for Microsoft Windows," which
  225.         contains important information pertaining to a conflict between
  226.      |  VGAMoire and Microsoft Windows.  Other conflicts are described
  227.      |  in the "Known Conflicts" section.
  228.  
  229.  
  230.  
  231.  
  232.         ═══════ INSTALLATION ═══════════════════════════════════════════
  233.  
  234.  
  235.         You can install VGAMoire from the DOS prompt, or from your
  236.      |  AUTOEXEC.BAT file.  There are some programs which VGAMoire is
  237.      |  known to conflict with, but in most cases, there are simple ways
  238.      |  to get around such problems (see the section entitled "Known
  239.      |  Conflicts" for more information).  The new 1.4b release supports
  240.      |  screen saving for both text mode and graphics mode (though in
  241.      |  graphics mode it can't draw a design).
  242.  
  243.         VGAMoire will not become resident unless you specify how many
  244.         minutes it should wait before popping up.  This allows you to
  245.         try out different options without actually installing VGAMoire.
  246.         VGAMoire also checks to see whether it has already been
  247.         installed. If it has, it will display an error message and will
  248.         not load a second copy into memory.  This prevents you from
  249.         accidentally wasting memory.
  250.  
  251.         To install VGAMoire (without specifying any options), type:
  252.  
  253.                 VGAMOIRE W<n>
  254.  
  255.         where <n> is the number of minutes to count down before popping
  256.         up.
  257.  
  258.         NOTE:  VGAMoire should not be loaded above any application
  259.         programs.  That is to say, the computer may have a heart attack
  260.         if you load VGAMoire (or any resident utility, for that matter)
  261.         from a DOS shell.
  262.  
  263.         VGAMoire chains itself into the timer interrupt (int 8h), the
  264.         ROM BIOS keyboard driver (int 9h), the ROM BIOS video driver
  265.         interrupt (int 10h), the ROM BIOS disk driver (int 13h), and the
  266.         ROM BIOS parallel port printer driver (it does not need to chain
  267.         itself into the ROM BIOS serial communications port driver,
  268.         though).  It also deallocates its environment block to conserve
  269.         memory.
  270.  
  271.  
  272.      |  MEMORY USAGE
  273.      |  ────────────────────────────────────────────────
  274.      |
  275.      |  VGAMoire can use different kinds of memory in different ways.
  276.      |  When you install VGAMoire, it will take 3.1k of conventional
  277.      |  memory, where the main screen saver code resides.
  278.      |
  279.      |  If EMS memory is NOT used (ie, if only conventional memory is
  280.      |  utilized), then VGAMoire will take an extra 1k (approximately)
  281.      |  to store the video state information.  Another 0.5k or so is
  282.      |  taken to store the mouse state information.  Each video page you
  283.      |  want to save takes another 4k.
  284.      |
  285.      |  If, on the other hand, EMS memory is used, then VGAMoire takes
  286.      |  only 3.1k of conventional memory.  Its data is stored in
  287.      |  Expanded Memory.  Depending upon how you configure VGAMoire, it
  288.      |  may reserve as much as 112k of EMS memory for its use.  16k
  289.      |  accomodates up to 3 video pages, 32k accomodates up to 7 video
  290.      |  pages, 48k will accomodate 8 video pages.  For every two blocks
  291.      |  of character generator RAM that are saved, add another 16k of
  292.      |  EMS memory; so to save 1 or 2 blocks, add 16k; for 7 or 8 add
  293.      |  64k.  So, to save 3 video pages and 1 font block, VGAMoire will
  294.      |  require 32k of Expanded Memory.
  295.      |
  296.      |  If VGAMoire is installed using the [B2] option, it takes only
  297.      |  3.1k of conventional memory, but VGAMoire must be deinstalled
  298.      |  and reinstalled if you later want VGAMoire to draw the moire
  299.      |  design (this mode saves memory at installation time but is not
  300.      |  as flexible as if VGAMoire is installed without using the [Bn]
  301.      |  option).  So, if you want to install VGAMoire so it is able to
  302.      |  draw the moire design, but want it to start out just blanking
  303.      |  the screen, you will have to first install it with the [B1]
  304.      |  option and then send the [N] and [B2] options together.
  305.  
  306.  
  307.  
  308.  
  309.  
  310.         ═══════ USING VGAMOIRE'S FEATURES ══════════════════════════════
  311.  
  312.  
  313.         To see a list of the command line options that VGAMoire accepts,
  314.         you can type:
  315.  
  316.                 VGAMOIRE ?
  317.  
  318.         at the DOS prompt.  The list will look like this:
  319.  
  320. ┌──────────────────────────────────────────────────────────────────────────────┐
  321. │ VGAMoire 1.4b,  by Christopher Antos,  September 1990,  (C)1990              │
  322. │                                                                              │
  323. │ Usage:  VGAMOIRE [Bn] [Cn] [Dn] [E] [Fn] [Ln] [Mn] [N]                       │
  324. │                  [Pn] [Rn] [Sn] [U] [Vn] [Wn] [-] [+]                        │
  325. │                                                                              │
  326. │ Summary of options:                      * = invalid if used with [N]        │
  327. │   Bn    blank:  1-graphics, 2-always     Pn  * save <n> video pages (1-8)    │
  328. │   Cn    colors:  1-rainbow, 2-fire,      Rn    mirror:  1-none,2-H,3-V,4-H/V │
  329. │         3-frost, 4-pastel                Sn    color speed:  (1-255)         │
  330. │   Dn    delay:  (1-255)                  U     uninstall                     │
  331. │   E   * use EMS                          Vn    video:  1-monitor, 2-ignore   │
  332. │   Fn  * save <n> font blocks (1-8)       Wn    wait <n> minutes (1-30)       │
  333. │   Ln    lines:  (1-50)                   -     turn off                      │
  334. │   Mn    mouse:  1-monitor, 2-ignore      +     turn on                       │
  335. │   N     send options to resident copy                                        │
  336. │                                                                              │
  337. │     Press Ctrl-Alt-Shift to pop up screen saver.  The screen saver may be    │
  338. │     disabled by pressing Ctrl-Alt-E and reenabled by pressing Ctrl-Alt-B.    │
  339. │     Use  VGAMOIRE - N  to turn off resident copy  (or  + N  to turn back     │
  340. │     on).                                                                     │
  341. └──────────────────────────────────────────────────────────────────────────────┘
  342.  
  343.         When installing VGAMoire, you can specify any of these
  344.         parameters to customize how VGAMoire behaves.  Each will be
  345.         discussed separately, along with some tips and tricks on
  346.         combining certain options (any of the options may be used with
  347.         any of the other options, except as noted).
  348.  
  349.         To use an option, specify it on the command line.  Be sure to
  350.         put a space between different options, and do NOT put a space
  351.         between an option letter and the value you are setting it to.
  352.  
  353.                 Correct:        VGAMOIRE C1 M1
  354.                 Wrong:          VGAMOIRE C1M1
  355.                 Wrong:          VGAMOIRE C 1 M 1
  356.  
  357.  
  358.         ─── THE OPTIONS ────────────────────────────────────────────────
  359.  
  360.      |  [Bn]    If VGAMoire times out while the display is in a graphics
  361.      |          mode, VGAMoire will just blank the screen and allow the
  362.      |          current application to continue processing.  As soon as
  363.      |          any activity is detected, VGAMoire will restore the
  364.      |          screen.  If you want VGAMoire to do this with text
  365.      |          screens, too, instead of drawing the moire design, you
  366.      |          can use this option.  Example:
  367.      |
  368.      |                  VGAMOIRE B2
  369.      |
  370.      |          This tells VGAMoire to always blank the screen instead
  371.      |          of drawing the moire design.  To allow VGAMoire to draw
  372.      |          the design again, use B1 instead of B2.
  373.      |
  374.   SPECIAL NOTE: If VGAMoire is installed with the B2 option, it will
  375.      |          only take the basic 3.1k of conventional memory.  This
  376.      |          way, you can force it to be a real memory miser, in case
  377.      |          you are really low on memory or don't have EMS.  It will
  378.      |          not allocate any memory --neither conventional nor EMS
  379.      |          (not even if the [E] option is used)-- for a save
  380.      |          buffer, and it will not be able to draw the moire design
  381.      |          at all unless it is deinstalled and reinstalled without
  382.      |          the B2 option.
  383.  
  384.  
  385.         [Cn]    VGAMoire has several different color sets it can use.
  386.                 VGAMoire reprograms the VGA's color registers to produce
  387.                 non-standard colors, thus giving truer, better, and more
  388.                 colors than otherwise possible.  Example:
  389.  
  390.                         VGAMOIRE C3
  391.  
  392.                 This would tell VGAMoire to use "frosty" colors to draw
  393.                 the moire pattern.  Below is a list of possible color
  394.                 sets:
  395.  
  396.                         C1 - Rainbow            C3 - Frost
  397.                         C2 - Fire               C4 - Pastel
  398.  
  399.  
  400.         [Dn]    VGAMoire is a very fast program because it uses highly
  401.                 optimized assembly language routines (the whole program
  402.                 is written in assembly language) to directly access the
  403.                 VGA hardware, instead of using ROM BIOS function calls
  404.                 to do the job.  On most computers that have VGA cards
  405.                 (except maybe some slow ATs or XTs), you will want to
  406.                 slow down the design.  You can specify a delay value in
  407.                 the range of 1 (fast) to 255 (very slow).  Example:
  408.  
  409.                         VGAMOIRE D35
  410.  
  411.                 On 16MHz PS/2 Model 70's, a good delay value to use is
  412.                 usually about 35 or 40, but of course it depends on your
  413.                 taste.
  414.  
  415.  
  416.         [E]     If you have EMS memory, you can tell VGAMoire to make
  417.                 good use of it.  Normally, VGAMoire takes at least 8.6k
  418.                 of conventional memory, plus an extra 4k for every extra
  419.                 video page it saves, adding as much as 28k to the basic
  420.                 8.6k model (which saves only one video page).  If you
  421.                 choose to use your EMS memory, though, VGAMoire uses
  422.                 only 3.1k of conventional memory, and uses EMS memory to
  423.                 save the video pages and mouse state.  VGAMoire is
  424.                 compatible with EMS 3.1 and higher (it even names its
  425.                 EMS handle under EMS 4.0 and higher).  EMS memory is
  426.                 allocated in 16k blocks.  VGAMoire allocates one block
  427.                 to save up to 3 video pages, or two blocks to save up to
  428.                 7 video pages, or three blocks to save 8 video pages.
  429.                 Example:
  430.  
  431.                         VGAMOIRE E
  432.  
  433.                 Note that the [E] option cannot be used with the [N]
  434.                 option (which will be explained later).  It can, however
  435.                 be used in conjunction with the [Fn] option, which is
  436.                 explained next.  Also note that VGAMoire reserves the
  437.                 total amount of EMS that it will use AT THE TIME IT IS
  438.                 INSTALLED.  To stop using EMS or to change the number of
  439.                 video pages it saves, you must deinstall VGAMoire and
  440.                 then reinstall it.
  441.  
  442.  
  443.         [Fn]    This option tells VGAMoire to save and restore the VGA
  444.                 character generator RAM and the complete video state.
  445.                 You can specify how many font blocks to save and restore
  446.                 (from 1 to 8).  If you need this feature at all, saving
  447.                 just one font block will generally be enough.  It is
  448.                 only valid when used with the [E] option, so you can't
  449.                 use it if you don't have EMS memory.  Example:
  450.  
  451.                         VGAMOIRE F1
  452.  
  453.                 Using this feature allows VGAMoire to correctly save and
  454.                 restore even such non-standard video modes as 60-line
  455.                 displays or 33-line displays.  Otherwise, VGAMoire can
  456.                 save all the information except the current character
  457.                 fonts and the screen size (changing the screen size
  458.                 requires loading an alternate font, so the two are
  459.                 really inseparable).  Note that when you use this
  460.                 feature, VGAMoire uses an added 16k of EMS per every two
  461.                 character generator RAM blocks you save.  So, if you
  462.                 want to save all 8 video pages and all the character
  463.                 generator RAM, you will need at least 112k of free EMS
  464.                 memory.  You can save up to 8 of the character generator
  465.                 RAM blocks, but you should rarely, if ever, need to save
  466.                 more than one.
  467.  
  468.  
  469.         [Ln]    You can make the moire pattern have up to 50 lines in
  470.                 it.  The default is 25 lines.  Example:
  471.  
  472.                         VGAMOIRE L40
  473.  
  474.                 This would make VGAMoire generate a 40 line moire
  475.                 pattern.  You must tell VGAMoire to use at least one
  476.                 line (any less wouldn't really make much sense, now
  477.                 would it?).
  478.  
  479.  
  480.         [Mn]    If you are experiencing trouble and either do not have a
  481.                 mouse, or have an old mouse driver, try using this
  482.                 feature before giving up.  This determines whether or
  483.                 not VGAMoire monitor the mouse hardware for activity (by
  484.                 default, VGAMoire will constantly monitor the mouse for
  485.                 any activity and restart the countdown if it detects
  486.                 any).  Example:
  487.  
  488.                         VGAMOIRE M2
  489.  
  490.                 This tells VGAMoire to ignore any mouse activity
  491.                 (VGAMoire simply doesn't bother to monitor the mouse at
  492.                 all).  To tell VGAMoire to resume monitoring the mouse,
  493.                 you can use M1 instead of M2.
  494.  
  495.  
  496.         [Pn]    The VGA card has 8 video text pages, although DOS and
  497.                 most of the IBM programs only use page 0 (some programs
  498.                 draw screens on other pages and then transfer them to
  499.                 page 0 to make it seem as though they are drawing the
  500.                 display at lightning speeds.  You can use the [Pn]
  501.                 option to indicate how many video pages you wish to
  502.                 save.  VGAMoire saves however many pages you tell it to,
  503.                 starting with page zero (the pages are numbered 0
  504.                 through 7).  If you use the 50-line mode ever, you
  505.                 should probably save at least 2 pages.  Example:
  506.  
  507.                         VGAMOIRE P2
  508.  
  509.                 This tells VGAMoire to save 2 video pages when it
  510.                 switches to graphics mode to draw the moire pattern.
  511.                 This option cannot be used with the [N] option.  To
  512.                 change the number of video pages that are saved, you
  513.                 must deinstall VGAMoire and then reinstall it.
  514.                 NOTE:  if you use the NNANSI.SYS display driver (or
  515.                 certain other "improved ANSI display drivers"), you
  516.                 should be aware that it can scroll the screen at a very
  517.                 high speed by modifying the starting location of the
  518.                 screen display buffer.  If you use this feature of your
  519.                 display driver, you should either tell VGAMoire to save
  520.                 all 8 video pages or tell your display driver to scroll
  521.                 text the "old-fashioned way".
  522.  
  523.                 NOTE:  if you use a program that allows more than 25
  524.                 lines on the screen, you should save at least two video
  525.                 pages, and if you use a program which allows more than
  526.                 50 lines, you need to save at least 3 video pages.
  527.  
  528.  
  529.         [Rn]    This controls how VGAMoire mirrors the pattern.  By
  530.                 default, VGAMoire doesn't mirror it at all.  You can
  531.                 instruct the program to mirror the design horizontally,
  532.                 vertically, or both horizontally and vertically
  533.                 together.  Example:
  534.  
  535.                         VGAMOIRE M3
  536.  
  537.                 This would cause VGAMoire to mirror the pattern
  538.                 vertically (top-to-bottom).  Use [M1] to not mirror at
  539.                 all, [M2] to mirror horizontally, [M3] to mirror
  540.                 vertically, or [M4] to mirror both horizontally and
  541.                 vertically together.
  542.  
  543.  
  544.         [Sn]    By default, VGAMoire changes colors each time it draws a
  545.                 new line.  If you're using a large number of lines, or
  546.                 if the colors are changing more quickly than you'd like,
  547.                 you can make them change slower.  Example:
  548.  
  549.                         VGAMOIRE S3
  550.  
  551.                 This would make VGAMoire change colors after every third
  552.                 line.  You can use any number in the range 1 to 255.  If
  553.                 you were using only 5 lines, and you wanted it to look
  554.                 like the pattern were slowly glowing, you might use a
  555.                 value of 10 or 12 with the [Sn] option.
  556.  
  557.  
  558.         [U]     This lets you deinstall VGAMoire.  Please see the
  559.                 section "Deinstallation" for more information.
  560.  
  561.  
  562.      |  [Vn]    Some programs which use the video BIOS to write to the
  563.      |          screen  may confuse VGAMoire into never timing out.  If
  564.      |          this happens, you can try this option to force VGAMoire
  565.      |          to ignore video activity.  Example:
  566.      |
  567.      |                  VGAMOIRE V2
  568.      |
  569.      |          This tells VGAMoire to ignore any video activity.  To
  570.      |          make VGAMoire resume watching for video activity, use V1
  571.      |          instead of V2.
  572.  
  573.  
  574.         [Wn]    As I demonstrated in the "Installation" section, you can
  575.                 specify a number of minutes to count down (Wait) before
  576.                 popping up the moire pattern.  VGAMoire can count down
  577.                 anywhere from 1 to 30 minutes.  Example:
  578.  
  579.                         VGAMOIRE W4
  580.  
  581.                 This instructs the screen saver to count down four
  582.                 minutes before taking over and drawing the moire
  583.                 pattern.  Remember:  if you do not specify a number of
  584.                 minutes to count down (it must be a valid value to be
  585.                 recognized), VGAMoire will not become resident but will
  586.                 display its pattern until you press a key or move the
  587.                 mouse.
  588.  
  589.  
  590.         [N]     Once VGAMoire is resident, there are a few options you
  591.                 can no longer change:  namely, the [E], [Fn], and [Pn]
  592.                 options.  To change these, you must deinstall and then
  593.                 reinstall VGAMoire (these options affect how VGAMoire
  594.                 allocates memory, and because VGAMoire only allocates
  595.                 and reserves memory when it is installed, they cannot be
  596.                 used later).  However, the other options may be changed
  597.                 even once VGAMoire is resident.  To change them, just
  598.                 use the [N] option somewhere on the command line.
  599.                 Example:
  600.  
  601.                         VGAMOIRE W2 N D30
  602.  
  603.                 This changes the number of minutes that VGAMoire counts
  604.                 down before popping up to 2 minutes, and changes the
  605.                 delay value to 30.  No other options are changed.
  606.  
  607.  
  608.         [-]     VGAMoire can be disabled from the keyboard by typing
  609.                 Ctrl-Alt-E, and it can also be disabled from DOS with
  610.                 the [-] option.  This allows batch files to turn off
  611.                 VGAMoire and then later turn it back on.  Example:
  612.  
  613.                         VGAMOIRE - N
  614.  
  615.                 This turns the RESIDENT COPY of VGAMoire off (because
  616.                 the [N] option is used along with the [-] option).  You
  617.                 can also INSTALL VGAMoire as "off".  Example:
  618.  
  619.                         VGAMOIRE - W4
  620.  
  621.                 This would install VGAMoire and set the countdown at
  622.                 four minutes, but would not turn off VGAMoire as it was
  623.                 installed.  For VGAMoire to be able to pop up, it would
  624.                 have to be turned on, which we will discuss next.
  625.  
  626.  
  627.         [+]     To turn VGAMoire back on, you can either type Ctrl-Alt-B
  628.                 or you can reenable it from DOS.  Example:
  629.  
  630.                         VGAMOIRE + N
  631.  
  632.                 This turns the RESIDENT COPY of VGAMoire on (because the
  633.                 [N] option is used with the [+] option).  Using the [+]
  634.                 makes no sense unless the [N] option is used also,
  635.                 because VGAMoire defaults to being "on".  You don't need
  636.                 to do anything to install VGAMoire as "on".
  637.  
  638.  
  639.  
  640.  
  641.         ═══════ DEINSTALLATION ═════════════════════════════════════════
  642.  
  643.  
  644.         VGAMoire can deinstall itself and give both conventional and EMS
  645.         memory it was using back to DOS.  Example:
  646.  
  647.                 VGAMOIRE U
  648.  
  649.         The [U] option, just like any of the other options, can be used
  650.         from the DOS prompt or from in a batch file.  If another program
  651.         has taken over the interrupt vectors that VGAMoire captured,
  652.         then VGAMoire will tell you and ask if you really want to
  653.         deinstall it.  You can press 'N', 'Y', or ESC. If you hit 'N' or
  654.         ESC, VGAMoire will print a message saying that it is still
  655.         installed.  If you choose to deinstall it anyway, VGAMoire will
  656.         try to deinstall itself.  This may result in a system crash,
  657.         depending on what is loaded above VGAMoire.  You can allow
  658.         VGAMoire to deinstall itself cleanly by deinstalling whatever is
  659.         in memory above it first.  If the system does crash, just reboot
  660.         (or turn the computer off).  Note that the system may not crash
  661.         immediately.
  662.  
  663.  
  664.  
  665.  
  666.         ═══════ EXAMPLES ═══════════════════════════════════════════════
  667.  
  668.  
  669.         Here are some examples for installing VGAMoire:
  670.  
  671.                 VGAMOIRE W4 P8 E F8 D40 S3 C1 L50 R4
  672.  
  673.         This tells VGAMoire to become resident and count down four
  674.         minutes before popping up.  It will save all eight video pages
  675.         in EMS memory, and will also save all eight character generator
  676.         RAM blocks.  The delay to slow down the moire pattern is set to
  677.         40 (the delay value is not an absolute measure of time, but
  678.         rather is relative to CPU speed).  VGAMoire will change color
  679.         every three lines, use rainbow colors, and will draw a moire
  680.         pattern consisting of 50 lines.  Finally, it will mirror both
  681.         horizontally and vertically.  This could be called the "full
  682.         featured" installation, because it makes use of each of the
  683.         special VGAMoire options.  It also uses the least conventional
  684.         memory (3.1k) and the most EMS memory (112k).
  685.  
  686.  
  687.         A less impressive configuration might be this:
  688.  
  689.                 VGAMOIRE W4 P2 S3 C1 L20 D50
  690.  
  691.         This would again count down four minutes, but only save two
  692.         video pages.  It would not use EMS memory, so it would take a
  693.         total of about 12.6k of conventional memory.  It would change
  694.         color every third line, use rainbow colors, and only draw 20
  695.         lines in the moire pattern.  It would use a delay value of 50
  696.         (again, the delay is arbitrarily relative to the CPU speed and
  697.         follows a roughly linear graph of speed decrease as the delay
  698.         value increases).
  699.  
  700.  
  701.         Following is a sample batch file to disable VGAMoire before
  702.         executing an application and then reenable it when the
  703.         application returns to DOS:
  704.  
  705.                 APP1.BAT
  706.                 ──────────────────────────────────────────────
  707.                 @ECHO OFF
  708.                 \TOOLS\VGAMOIRE N -
  709.                 CD\GAMES
  710.                 FUNGAME
  711.                 \TOOLS\VGAMOIRE N +
  712.  
  713.  
  714.         As stated previously, some programs may trick VGAMoire into
  715.         never timing out (never finishing its countdown).  Following is
  716.         a sample batch file that may solve the problem with programs
  717.         like these:
  718.  
  719.                 APP2.BAT
  720.                 ──────────────────────────────────────────────
  721.                 @ECHO OFF
  722.                 \TOOLS\VGAMOIRE N V2
  723.                 CD\APPS
  724.                 APPLCATN
  725.                 \TOOLS\VGAMOIRE N V1
  726.  
  727.  
  728.      |  Following is a sample batch file to make VGAMoire just blank the
  729.      |  screen (instead of drawing the moire design) and allow the
  730.      |  program to continue operating in the background (the screen will
  731.      |  come back if any activity is detected--mouse, keyboard, disk,
  732.      |  serial communications, certain kinds of video activity, or
  733.      |  parallel communications).  The batch file then executes an
  734.      |  application.  When the application is done, VGAMoire is reset so
  735.      |  that it will draw the moire design again:
  736.      |
  737.      |          APPBLANK.BAT
  738.      |          ──────────────────────────────────────────────
  739.      |          @ECHO OFF
  740.      |          \TOOLS\VGAMOIRE N B2
  741.      |          CD\APPS
  742.      |          APPLCATN
  743.      |          \TOOLS\VGAMOIRE N B1
  744.                 
  745.  
  746.  
  747.  
  748.      |  ═══════ KNOWN CONFLICTS ════════════════════════════════════════
  749.      |
  750.      |
  751.      |  ─── MICE ───────────────────────────────────────────────────────
  752.      |
  753.      |  VGAMoire is only mouse-sensitive with Microsoft-compatible mice;
  754.      |  it cannot recognize Mouse Systems mice unless they are in
  755.      |  Microsoft emulation mode (Logitech and most other popular mice
  756.      |  should work fine--if the mouse has a Microsoft emulation mode,
  757.      |  make sure you are using it, though).
  758.      |
  759.      |  It is possible (though not tested) that VGAMoire may not work
  760.      |  with serial mice.
  761.      |
  762.      |
  763.      |  ─── MICROSOFT WORD ─────────────────────────────────────────────
  764.      |
  765.      |  VGAMoire does not work with Microsoft Word in graphics mode, but
  766.      |  it does work with text mode.  You can force VGAMoire to work
  767.      |  with Word in graphics mode by using the [V2] option.  Also see
  768.      |  the "APP2.BAT" sample batch file in the "Examples" section.
  769.      |
  770.      |
  771.      |  ─── MULTITASKING SYSTEMS ───────────────────────────────────────
  772.      |  (such as DESQview and TopView)
  773.      |
  774.      |  VGAMoire may not work with multi-tasking products such as
  775.      |  DESQview or TopView.  It may even cause some to crash.  If this
  776.      |  occurs, try using the [Bn] option to make VGAMoire just blank
  777.      |  the screen, instead of drawing its moire design (see the
  778.      |  "APPBLANK.BAT" sample batch file in the "Examples" section).  If
  779.      |  this still doesn't solve the problem, then you will have to turn
  780.      |  VGAMoire off before starting the multitasker.  You can turn it
  781.      |  back on when you exit from the multitasker (see the "APP1.BAT"
  782.      |  sample batch file in the "Examples" section).
  783.      |
  784.      |
  785.      |  ─── PRINT SPOOLERS ─────────────────────────────────────────────
  786.      |  (or some programs taking a long to print)
  787.      |
  788.      |  You may experience problems with VGAMoire when using a print
  789.      |  spooler (such as DMP).  VGAMoire may take over while the spooler
  790.      |  is sending data to the printer (depending on how it sends the
  791.      |  data).  The spooler should resume without any complications as
  792.      |  soon as VGAMoire returns control to the current program (if you
  793.      |  experience problems, be sure to let me know, so I can work on
  794.      |  fixing them!).  If you want your spooler to be able to print
  795.      |  data even once VGAMoire decides to activate itself, then you
  796.      |  must use the [B2] option (see the description of the [Bn] option
  797.      |  for more information).  Otherwise, printing will resume when
  798.      |  VGAMoire is done drawing its moire pattern.
  799.  
  800.  
  801.  
  802.  
  803.         ═══════ SPECIAL NOTES FOR MICROSOFT WINDOWS ════════════════════
  804.  
  805.  
  806.         VGAMoire was not intended to work in Microsoft Windows, and it
  807.         doesn't.  Miscrosoft Windows fools VGAMoire and feeds it false
  808.         information.  The result is that VGAMoire may try to pop up
  809.         while Windows is active, which causes the display to go haywire
  810.      |  (VERY) and you have to reboot the machine (actually, Windows is
  811.      |  still operating, and if you're adventurous or you know what to
  812.      |  do, you can save anything you were working on and exit Windows,
  813.      |  which will then right the display).
  814.  
  815.         However, if you want to use Windows while VGAMoire is loaded
  816.         (though you can't use VGAMoire while Windows is active), you can
  817.         do this--quite easily, in fact.  The example batch file shown
  818.         below demonstrates how to start Windows 3.0 from a batch file
  819.         and disable VGAMoire while Windows is active and then reenable
  820.         it when Windows is exitted.  Even if VGAMoire isn't loaded, the
  821.         batch file will still work exactly the same and won't
  822.         accidentally load VGAMoire.
  823.  
  824.                 WIN.BAT
  825.                 ──────────────────────────────────────────────
  826.                 @ECHO OFF
  827.                 CD\WIN3
  828.                 \TOOLS\VGAMOIRE N - >NUL
  829.                 WIN
  830.                 \TOOLS\VGAMOIRE N + >NUL
  831.  
  832.         To use Windows, you would type WIN from the DOS prompt.  This
  833.         will deactivate the resident copy of VGAMoire (but won't display
  834.         an ugly error message if VGAMoire isn't loaded, because the
  835.         output is redirected to NUL).  Then it runs Windows.  When the
  836.         user exits from Windows, the batch file turns VGAMoire back on,
  837.         if it is loaded (but again, will not display an error message if
  838.         it isn't).
  839.  
  840.  
  841.  
  842.  
  843.         ═══════ TECHNICAL AND MISCELLANEOUS INFORMATION ════════════════
  844.  
  845.  
  846.         VGAMoire chains itself into interrupt vectors 8h, 9h, 10h, 13h,
  847.         and 17h.  It monitors these interrupts and resets its countdown
  848.         if it detects activity.  It also monitors the mouse by calling
  849.         the mouse driver to see if the mouse has moved or a button has
  850.         been pressed.  
  851.  
  852.         VGAMoire disables the video screen refresh while it switches
  853.         modes and saves/restores the video display.  There are two major
  854.         benefits to this:  (1) the screen doesn't flicker or do other
  855.         strange things while VGAMoire is working, and  (2) the display
  856.         appears to switch to/from VGAMoire much quicker this way.  This
  857.         is purely a cosmetic feature.
  858.  
  859.         We specifically program the "black" color register to be black,
  860.         in case a palette-manager program is loaded which might have
  861.         changed black to something else.  The whole purpose behind
  862.         VGAMoire is to keep the screen from burning out.  What good
  863.         would it do if the "black" background for the screen were set by
  864.         another program so it were, oh, say, BRIGHT WHITE??
  865.  
  866.      |  Beginning with VGAMoire release 1.4b, graphics mode screen
  867.      |  blanking is supported.  The current process is allowed to
  868.      |  continue running while the screen is blanked.  The blanking is
  869.      |  easily achieved by invoking a VGA ROM BIOS function.  VGAMoire
  870.      |  can be configured to blank the screen in text modes, too.  This
  871.      |  allows text-mode based processes to continue running in the
  872.      |  background, too.
  873.  
  874.  
  875.         For more information, and for a version history, see the source
  876.         code, VGAMOIRE.ASM.
  877.  
  878.  
  879.  
  880.  
  881.         ════════════════════════════════════════════════════════════════
  882.  
  883.  
  884.         I hope you find VGAMoire useful.  Thank you for your support.
  885.  
  886.  
  887.                                         Christopher Antos
  888.  
  889.  
  890.         ════════════════════════════════════════════════════════════════
  891.